/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.com.trabalho.controller;

import br.com.trabalho.DAO.GenericoDAO;
import br.com.trabalho.model.Cliente;
import java.util.ArrayList;
import java.util.List;
import javax.faces.bean.SessionScoped;
import org.hibernate.HibernateException;
import javax.faces.bean.ManagedBean;

/**
 *
 * @author Cristian
 */
@SessionScoped
@ManagedBean(name="clienteController")
public class ClienteController implements ManterGenerico{
    GenericoDAO acessoHibernate;
    private Cliente cliente;
    
    
    public ClienteController(){
        acessoHibernate = new GenericoDAO();
    }

    @Override
    public String salvar() {
        try{ 
            acessoHibernate.gravar(this.cliente);
            return "cadastroRealizado";
        }catch (HibernateException e) {
            e.getMessage();
            return "falha";
        }
    }

    @Override
    public String alterar() {
       try{ 
            acessoHibernate.alterar(this.cliente);
            return "alt";
        }catch (HibernateException e) {
            e.getMessage();
            return "falha";
        }
    }

    @Override
    public String excluir() {
        try {
            acessoHibernate.excluir(this.cliente);
            return "clienteExcluido";
        } catch (HibernateException e) {
            e.getMessage();
            return "falha";
        }
    }


 
      public List getListaCliente() {
       try {
            return acessoHibernate.carregarTudoOrdenado(Cliente.class, "nome");
          } catch (HibernateException e) {
            return null;
        }
    }
    
    @Override
    public List listar() {
        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
    }
    /**
     * @return the cliente
     */
    public Cliente getCliente() {
        return cliente;
    }

    /**
     * @param cliente the cliente to set
     */
    public void setCliente(Cliente cliente) {
        this.cliente = cliente;
    }

    
}
